home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / uniterm.zoo / uni.h < prev    next >
Text File  |  1990-04-06  |  2KB  |  51 lines

  1. /*
  2.  * Definition of the UniTerm parameter block
  3.  * Donated to the Public Domain by Simon Poole
  4.  */
  5.  
  6. /* These definitions assume:
  7.  *  - int     : 16 bits
  8.  *  - long    : 32 bits
  9.  *  - pointer : 32 bits
  10.  *  - struct fields are ordered from low to high 
  11.  *    memory, without any additional alignment
  12.  *    bytes (PBLength is at the lowest address,
  13.  *    PBClipAddress at the highest)
  14.  */
  15.  
  16. typedef struct {
  17.    long ClipLen;     /* current length of clip */
  18.    char *ClipBuffer; /* pointer to the buffer itsself */
  19. } ClipStruct;        /* UniTerm's clipboard */
  20.  
  21. typedef struct {
  22.    int        PBLength;       /* size of parameter block, currently 54 */      
  23.    long       PBFlags;        /* reserved for future expansion */
  24.    long       PBTextScreen;   /* address of the screen in text mode */
  25.    long       PBGraphScreen;  /* address of the graphic screen (if allocated) */
  26.    long       PBScreenBuffer; /* address of buffer for screen operations 32'000 bytes */
  27.    char       *PBTransBuffer; /* pointer to buffer used for file transfer */
  28.    long       PBTransSize;    /* size of above buffer */
  29.    long       PBTransPtrAdr;  /* current position in the buffer */
  30.    char       *PBHistBuffer;  /* pointer to history buffer */
  31.    long       PBHistSize;     /* size of above buffer */
  32.    long       *PBHistBotAdr;  /* pointer to the address (NOT offset) of current hist. bottom */ 
  33.    long       *PBHistPtrAdr;  /* pointer to the address (NOT offset) of current hist. top */
  34.    long       PBClipSize;     /* maximum size of clipboard */
  35.    ClipStruct *PBClipRecAdr;  /* pointer to the clipboard structure */
  36. } UniStruct;                  /* UniTerm's parameter block */
  37.  
  38. /*
  39.  * When a program is started, the current screen is either PBTextScreen
  40.  * or PBGraphScreen, a copy of the contents of that screen is in 
  41.  * PBScreenBuffer.
  42.  * 
  43.  * For historical reasons the addresses pointed to by PBHistBotAdr and
  44.  * PBHistPtrAdr are not offsets from PBHistBuffer, but are absolute
  45.  * memory addresses.
  46.  *
  47.  * New fields will be added at the end of the parameter block, so the
  48.  * application only has to check PBLength to see if a field is present 
  49.  * or not.
  50.  */
  51.